<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>组件的参数校验</title>
  <script src="./vue.js"></script>
</head>
<body>
  <div id="root">
    <child count="hello world"></child>
  </div>
 
  <script>
    // props特性： 
    // 1. 父传子，传递的属性是不会在dom标签中显示的
    // 2. 子组件可以用插值表达式直接使用传递的值

    // 非props特性：
    // 1. 子组件没有办法直接获取 父组件通过属性传递过来的值的
    // 2. 属性是会显示在子组件外层Dom标签中
    Vue.component('child', {
      // props: {
      //   // count: [String, Number]
      //   count: { // 参数校验
      //     type: String, // 数据类型检验
      //     required: true, // count属性是必传属性
      //     default: 'default val', // 当属性值没有传递的时候，会使用默认值
      //     validator: function(value) { // 自定义校验器：传入的参数长度必须大于5
      //       return (value.length > 5)
      //     }
      //   }
      // },
      template: '<div>hell</div>'
    })
    var vm = new Vue({
      el: "#root",
      data: {

      }
    })
  </script>
</body>
</html>